In communication systems, an important issue is controlling the transmission of data between multiple wireless devices to avoid conflicts between multiple concurrent transmissions. In general, this issue is addressed through the “medium access control” (MAC) layer of a communication protocol.
The carrier sense multiple access/collision avoidance (CSMA/CA) protocol is commonly used by MAC layers of communication protocols. In a wireless system employing the CSMA/CA, a wireless devices that has data to transmit first listens to the medium to detect whether any other wireless device is currently transmitting. If another device is already transmitting, the original wireless device will not begin transmitting. However, if the device does not detect any other wireless device transmitting, the device will begins its own transmission. It is possible that multiple wireless devices may examine the medium at the same time before attempting to transmit data. When transmissions are not detected by the multiple devices, the devices may concurrently transmit their data thereby causing a “collision.” Upon detection of a collision, a “backoff” mechanism is used. Each device generates a random number that defines a time within a backoff window. The devices wait the defined times before attempting to transmit again. Unless each device generates the same random number, one device will attempt to transmit more quickly than the other device. Accordingly, a subsequent collision is avoided.
Wireless communication systems suffer from the “hidden node” problem that is not present in wired communication systems. Specifically, in a wired communication system, each device can detect the transmissions of every other device. However, in a wireless communication system, this is not always possible. For example, suppose a wireless communication system consists of three devices (devices A, B, and C). Device B is disposed on the outer communication limits of devices A and C. Also, devices A and C are separated by sufficient space that they cannot detect each other's transmission. Devices A and C may simultaneously attempt to transmit to device B. Because of the distance between devices A and C, the collision of conflicting transmissions at device B is not detected by either of devices A and C.
A number of mechanisms exist that address the hidden node problem. For example, the IEEE 802.11 protocol defines a frame exchange protocol for this purpose. When a wireless devices has a data frame to communicate and it does not detect that another device is transmitting, it first transmits a request to send (RTS) frame. The destination device communicates a clear to send (CTS) frame assuming that a collision has not occurred at the destination device. The CTS frame causes other devices within communication range of the destination to avoid communications for a period of time. Also, the CTS frame causes the original device to communicate the data frame. The destination device sends an acknowledgment frame after receiving the data frame. After the acknowledgment frame, other wireless devices may attempt to communicate.
This sequence of frames is referred to as the distributed coordination function (DCF) in the IEEE 802.11 standard. The DCF prevents repetitive collisions of data frames. However, the DCF function does not prevent collisions of the CTS and RTS frames themselves. If the traffic load of a network is high, network throughput and the fairness of the medium access allocation may degrade significantly.
The IEEE 802.11 standard also defines a point coordination function (PCF) to control access to the medium using the infrastructure network configuration. In an infrastructure network configuration, an access point controls a basic services set and provides a connection to a larger network. To implement the PCF, an access point includes a point controller (PC). From time to time, the PC takes control of the medium by broadcasting a beacon frame. The beacon frame contains an identification of the anticipated duration of the contention free period (CFP). Devices receiving the beacon frame set the duration in their network allocation vector (NAV) thereby preventing these devices from independently attempting to transmit during the CFP. Also, the PC communicates using the priority interframe space (PIFS) to ensure that newly arriving wireless devices do not attempt to transmit.
After the PC takes control of the medium, the PC begins polling devices identified in its polling list. Specifically, the PC sends a CF-Poll frame to a particular device to enable that device to transmit. If the device has data to transmit, it transmits a data frame. The PC transmits an acknowledgment frame upon receipt of the data frame. Also, during the CFP, the PC may distribute data frames to wireless devices. In order to make the use of the medium more efficient, the AP may combine polling, acknowledgment, and distributions functions using a single frame. At the end of the CFP, the PC transmits a CF-End frame and the wireless devices use the DCF to communicate.